package com.jjh.springframework.context;

import com.jjh.springframework.bean.BeansException;

/**
 * ConfigurableApplicationContext
 * ConfigurableApplicationContext 继承自 ApplicationContext，
 * 并提供了 refresh 这个核心方法。如果你有看过一些 Spring 源码，
 * 那么一定会看到这个方法。 接下来也是需要在上下文的实现中完成刷新容器的操作过程。
 *
 * @author jjh
 * @date 2021/06/20
 **/
public interface ConfigurableApplicationContext extends ApplicationContext{

    /**
     * 刷新容器
     * @throws BeansException
     */
    void refresh() throws BeansException;

    void registerShutdownHook();

    void close();
}
